From: robertl Date: Wed, 20 Jan 2010 12:40:53 +0000 (+0000) Subject: When writing routes, set class to map type instead of user so that duplicate waypoint... X-Git-Tag: archive/raspbian/1.10.0+ds-2+rpi1~1^2~199^2~72 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1970e0aff2dac17095bf91098cf20567aaa53d72;p=gpsbabel.git When writing routes, set class to map type instead of user so that duplicate waypoints aren't created. --- diff --git a/garmin.c b/garmin.c index 6714e82a8..f7f47d4ad 100644 --- a/garmin.c +++ b/garmin.c @@ -769,7 +769,7 @@ sane_GPS_Way_New(void) way->cross_road[0] = 0; way->cross_road[0] = 0; way->dpth = 1.0e25f; - way->wpt_class = 0; + way->wpt_class = 0; // user waypoint by default. return way; } @@ -966,6 +966,9 @@ route_waypt_pr(const waypoint *wpt) rte->lat = wpt->latitude; rte->smbl = gt_find_icon_number_from_desc(wpt->icon_descr, PCX); + // map class so unit doesn't duplicate routepoints as a waypoint. + rte->wpt_class = 0x80; + if (wpt->altitude != unknown_alt) { rte->alt = wpt->altitude; } else { diff --git a/jeeps/gpsapp.c b/jeeps/gpsapp.c index 93f7d8caa..81ef74c90 100644 --- a/jeeps/gpsapp.c +++ b/jeeps/gpsapp.c @@ -2220,7 +2220,7 @@ static void GPS_D109_Send(UC *data, GPS_PWay way, int32 *len, int protoid) p = data; *p++ = 1; /* data packet type; must be 1 for D109 and D110 */ - *p++ = 0; // way->wpt_class; + *p++ = way->wpt_class; *p++ = ((way->dspl & 3) << 5) | 0x1f; /* colour & display */ diff --git a/jeeps/gpsmem.c b/jeeps/gpsmem.c index 47b3be329..e9ae4a3ec 100644 --- a/jeeps/gpsmem.c +++ b/jeeps/gpsmem.c @@ -271,13 +271,10 @@ GPS_PWay GPS_Way_New(void) ret->dst = 0; ret->smbl = ret->dspl = ret->colour = ret->alt = ret->prot = INT_MAX; - if(gps_waypt_type==pD108) - { - ret->dst = 0; - ret->attr = 0x60; - for(i=0;i<7;++i) ret->subclass[i] = 0; - for(i=6;i<18;++i) ret->subclass[i] = 0xff; - } + ret->dst = 0; + ret->attr = 0x60; + for(i=0;i<7;++i) ret->subclass[i] = 0; + for(i=6;i<18;++i) ret->subclass[i] = 0xff; return ret; }